import { dayjs } from "element-plus";

export const formatTime = (time, format = "YYYY年MM月DD日") => {
  return dayjs(time).format(format);
};

/**
 * 根据指定的状态和名称，格式化状态信息。
 * @param {number} status - 用户的状态码。
 * @param {string} name - 相关的模块名称。
 * @returns {string} - 返回格式化后状态的字符串。
 */
export const formatStutas = (status, name = "userManager") => {
  // 如果模块名称为"userManager"
  if (name == "userManager") {
    switch (status) {
      case 0:
        return "禁用"; // 状态为0时，返回"禁用"
      case 1:
        return "正常"; // 状态为1时，返回"正常"
      case false:
        return "禁用"; // 状态为0时，返回"禁用"
      case true:
        return "正常"; // 状态为1时，返回"正常"
      default:
        return "未知"; // 默认返回"未知"
    }
  }

  if (name == "noticeManager") {
    switch (status) {
      case "0":
        return "未发布"; // 状态为0时，表示通知未发布
      case "1":
        return "已发布"; // 状态为1时，表示通知已发布
      case false:
        return "未发布"; // 当状态为布尔值false时，也认为通知未发布
      case true:
        return "已发布"; // 当状态为布尔值true时，认为通知已发布
      default:
        return "未知"; // 对于未覆盖的所有其他情况，返回"未知"
    }
  }
  if (name == "logManager") {
    switch (status) {
      case 0:
        return "失败"; // 状态为0时，表示通知未发布
      case 1:
        return "成功"; // 状态为1时，表示通知已发布
      case false:
        return "失败"; // 当状态为布尔值false时，也认为通知未发布
      case true:
        return "成功"; // 当状态为布尔值true时，认为通知已发布
      default:
        return "未知"; // 对于未覆盖的所有其他情况，返回"未知"
    }
  }
};

export const formatType = (status, name) => {
  if (name == "noticeType") {
    switch (status) {
      case "1":
        return "通知"; // 状态为0时，返回"通知"
      case "2":
        return "公告"; // 状态为1时，返回"公告"
      default:
        return "未知"; // 默认返回"未知"
    }
  }
  if (name == "logMethodType") {
    switch (status) {
      case "POST":
        return "新增";
      case "PUT":
        return "修改";
      case "DELETE":
        return "删除";
      case "GET":
        return "查询";
      default:
        return "未知"; // 默认返回"未知"
    }
  }
};
